﻿<UserControl x:Class="TransformBLG.LoadingPanel"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" Height="350" Width="697.478" Foreground="{x:Null}" 
             Name="ucLoading">
    <UserControl.Background>
        <SolidColorBrush Color="White"/>
    </UserControl.Background>
    <Grid
    xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:system = "clr-namespace:System;assembly=mscorlib"
    xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml">
        <Grid.Resources>
            <!-- Particle Styling -->
            <SolidColorBrush x:Key = "ParticleColor" Color = "#006699"/>
            <SolidColorBrush x:Key = "ParticleBackgroundColor" Color = "Transparent"/>
            <system:Double x:Key = "ParticleOpacity">1</system:Double>
            <system:Double x:Key = "ParticleRadius">5</system:Double>

            <system:Double x:Key = "StartingPointX">0</system:Double>
            <system:Double x:Key = "StartingPointY">-20</system:Double>

            <system:Double x:Key = "RotationPointX">0.5</system:Double>
            <system:Double x:Key = "RotationPointY">0.5</system:Double>

            <!-- StoryBoard -->
            <system:TimeSpan x:Key = "StoryBoardBeginTimeP0">00:00:00.000</system:TimeSpan>
            <system:TimeSpan x:Key = "StoryBoardBeginTimeP1">00:00:00.100</system:TimeSpan>
            <system:TimeSpan x:Key = "StoryBoardBeginTimeP2">00:00:00.200</system:TimeSpan>
            <system:TimeSpan x:Key = "StoryBoardBeginTimeP3">00:00:00.300</system:TimeSpan>
            <system:TimeSpan x:Key = "StoryBoardBeginTimeP4">00:00:00.400</system:TimeSpan>
            <Duration x:Key = "StoryBoardDuration">00:00:01.800</Duration>

            <!-- Particle Origin Angles -->
            <system:Double x:Key = "ParticleOriginAngleP0">0</system:Double>
            <system:Double x:Key = "ParticleOriginAngleP1">-10</system:Double>
            <system:Double x:Key = "ParticleOriginAngleP2">-20</system:Double>
            <system:Double x:Key = "ParticleOriginAngleP3">-30</system:Double>
            <system:Double x:Key = "ParticleOriginAngleP4">-40</system:Double>

            <!-- Particle Position & Timing 1 -->
            <system:Double x:Key = "ParticleBeginAngle1">0</system:Double>
            <system:Double x:Key = "ParticleEndAngle1">90</system:Double>
            <system:TimeSpan x:Key = "ParticleBeginTime1">00:00:00.000</system:TimeSpan>
            <Duration x:Key = "ParticleDuration1">00:00:00.750</Duration>

            <!-- Particle Position & Timing 2 -->
            <system:Double x:Key = "ParticleBeginAngle2">90</system:Double>
            <system:Double x:Key = "ParticleEndAngle2">270</system:Double>
            <system:TimeSpan x:Key = "ParticleBeginTime2">00:00:00.751</system:TimeSpan>
            <Duration x:Key = "ParticleDuration2">00:00:00.300</Duration>

            <!-- Particle Position & Timing 3 -->
            <system:Double x:Key = "ParticleBeginAngle3">270</system:Double>
            <system:Double x:Key = "ParticleEndAngle3">360</system:Double>
            <system:TimeSpan x:Key = "ParticleBeginTime3">00:00:01.052</system:TimeSpan>
            <Duration x:Key = "ParticleDuration3">00:00:00.750</Duration>

            <Style x:Key = "EllipseStyle" TargetType = "Ellipse">
                <Setter Property = "Width" Value = "{StaticResource ParticleRadius}"/>
                <Setter Property = "Height" Value = "{StaticResource ParticleRadius}"/>
                <Setter Property = "Fill" Value = "{StaticResource ParticleColor}"/>
                <Setter Property = "RenderTransformOrigin" Value = "0.5, 0.5"/>
                <Setter Property = "Opacity" Value = "{StaticResource ParticleOpacity}"/>
            </Style>
        </Grid.Resources>
        <Grid.OpacityMask>
            <SolidColorBrush Color="Black"/>
        </Grid.OpacityMask>
        <Canvas Width = "50" Height = "50" Margin="337,147,310,153" x:Name="loadingAnimation">
            <Canvas.Triggers>
                <EventTrigger RoutedEvent = "Canvas.Loaded">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard
                            
                            BeginTime = "{StaticResource StoryBoardBeginTimeP0}"
                            Duration = "{StaticResource StoryBoardDuration}"
                            RepeatBehavior = "Forever">
                                <DoubleAnimation
                                Storyboard.TargetName = "p0"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle1}"
                                To = "{StaticResource ParticleEndAngle1}"
                                BeginTime = "{StaticResource ParticleBeginTime1}"
                                Duration = "{StaticResource ParticleDuration1}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p0"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle2}"
                                To = "{StaticResource ParticleEndAngle2}"
                                BeginTime = "{StaticResource ParticleBeginTime2}"
                                Duration = "{StaticResource ParticleDuration2}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p0"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle3}"
                                To = "{StaticResource ParticleEndAngle3}"
                                BeginTime = "{StaticResource ParticleBeginTime3}"
                                Duration = "{StaticResource ParticleDuration3}"/>
                            </Storyboard>
                        </BeginStoryboard>
                        <BeginStoryboard>
                            <Storyboard
                            
                            BeginTime = "{StaticResource StoryBoardBeginTimeP1}"
                            Duration = "{StaticResource StoryBoardDuration}"
                            RepeatBehavior = "Forever">

                                <DoubleAnimation
                                Storyboard.TargetName = "p1"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle1}"
                                To = "{StaticResource ParticleEndAngle1}"
                                BeginTime = "{StaticResource ParticleBeginTime1}"
                                Duration = "{StaticResource ParticleDuration1}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p1"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle2}"
                                To = "{StaticResource ParticleEndAngle2}"
                                BeginTime = "{StaticResource ParticleBeginTime2}"
                                Duration = "{StaticResource ParticleDuration2}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p1"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle3}"
                                To = "{StaticResource ParticleEndAngle3}"
                                BeginTime = "{StaticResource ParticleBeginTime3}"
                                Duration = "{StaticResource ParticleDuration3}"/>
                            </Storyboard>
                        </BeginStoryboard>
                        <BeginStoryboard>
                            <Storyboard
                            
                            BeginTime = "{StaticResource StoryBoardBeginTimeP2}"
                            Duration = "{StaticResource StoryBoardDuration}"
                            RepeatBehavior = "Forever">

                                <DoubleAnimation
                                Storyboard.TargetName = "p2"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle1}"
                                To = "{StaticResource ParticleEndAngle1}"
                                BeginTime = "{StaticResource ParticleBeginTime1}"
                                Duration = "{StaticResource ParticleDuration1}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p2"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle2}"
                                To = "{StaticResource ParticleEndAngle2}"
                                BeginTime = "{StaticResource ParticleBeginTime2}"
                                Duration = "{StaticResource ParticleDuration2}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p2"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle3}"
                                To = "{StaticResource ParticleEndAngle3}"
                                BeginTime = "{StaticResource ParticleBeginTime3}"
                                Duration = "{StaticResource ParticleDuration3}"/>
                            </Storyboard>
                        </BeginStoryboard>

                        <BeginStoryboard>
                            <Storyboard
                            
                            BeginTime = "{StaticResource StoryBoardBeginTimeP3}"
                            Duration = "{StaticResource StoryBoardDuration}"
                            RepeatBehavior = "Forever">

                                <DoubleAnimation
                                Storyboard.TargetName = "p3"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle1}"
                                To = "{StaticResource ParticleEndAngle1}"
                                BeginTime = "{StaticResource ParticleBeginTime1}"
                                Duration = "{StaticResource ParticleDuration1}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p3"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle2}"
                                To = "{StaticResource ParticleEndAngle2}"
                                BeginTime = "{StaticResource ParticleBeginTime2}"
                                Duration = "{StaticResource ParticleDuration2}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p3"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle3}"
                                To = "{StaticResource ParticleEndAngle3}"
                                BeginTime = "{StaticResource ParticleBeginTime3}"
                                Duration = "{StaticResource ParticleDuration3}"/>
                            </Storyboard>
                        </BeginStoryboard>

                        <BeginStoryboard>
                            <Storyboard
                         
                            BeginTime = "{StaticResource StoryBoardBeginTimeP4}"
                            Duration = "{StaticResource StoryBoardDuration}"
                            RepeatBehavior = "Forever">

                                <DoubleAnimation
                                Storyboard.TargetName = "p4"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle1}"
                                To = "{StaticResource ParticleEndAngle1}"
                                BeginTime = "{StaticResource ParticleBeginTime1}"
                                Duration = "{StaticResource ParticleDuration1}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p4"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle2}"
                                To = "{StaticResource ParticleEndAngle2}"
                                BeginTime = "{StaticResource ParticleBeginTime2}"
                                Duration = "{StaticResource ParticleDuration2}"/>
                                <DoubleAnimation
                                Storyboard.TargetName = "p4"
                                Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"
                                From = "{StaticResource ParticleBeginAngle3}"
                                To = "{StaticResource ParticleEndAngle3}"
                                BeginTime = "{StaticResource ParticleBeginTime3}"
                                Duration = "{StaticResource ParticleDuration3}"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Canvas.Triggers>
            <Border
            x:Name = "p0"
            Background = "{StaticResource ParticleBackgroundColor}"
            Opacity = "{StaticResource ParticleOpacity}">
                <Border.RenderTransform>
                    <RotateTransform/>
                </Border.RenderTransform>
                <Border.RenderTransformOrigin>
                    <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>
                </Border.RenderTransformOrigin>
                <Ellipse Style = "{StaticResource EllipseStyle}">
                    <Ellipse.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>
                            <RotateTransform Angle = "{StaticResource ParticleOriginAngleP0}"/>
                        </TransformGroup>
                    </Ellipse.RenderTransform>
                </Ellipse>
            </Border>
            <Border
            x:Name = "p1"
            Background = "{StaticResource ParticleBackgroundColor}"
            Opacity = "{StaticResource ParticleOpacity}">
                <Border.RenderTransform>
                    <RotateTransform/>
                </Border.RenderTransform>
                <Border.RenderTransformOrigin>
                    <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>
                </Border.RenderTransformOrigin>
                <Ellipse Style = "{StaticResource EllipseStyle}">
                    <Ellipse.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>
                            <RotateTransform Angle = "{StaticResource ParticleOriginAngleP1}"/>
                        </TransformGroup>
                    </Ellipse.RenderTransform>
                </Ellipse>
            </Border>
            <Border
            x:Name = "p2"
            Background = "{StaticResource ParticleBackgroundColor}"
            Opacity = "{StaticResource ParticleOpacity}">
                <Border.RenderTransform>
                    <RotateTransform/>
                </Border.RenderTransform>
                <Border.RenderTransformOrigin>
                    <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>
                </Border.RenderTransformOrigin>
                <Ellipse Style = "{StaticResource EllipseStyle}">
                    <Ellipse.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>
                            <RotateTransform Angle = "{StaticResource ParticleOriginAngleP2}"/>
                        </TransformGroup>
                    </Ellipse.RenderTransform>
                </Ellipse>
            </Border>
            <Border
            x:Name = "p3"
            Background = "{StaticResource ParticleBackgroundColor}"
            Opacity = "{StaticResource ParticleOpacity}">
                <Border.RenderTransform>
                    <RotateTransform/>
                </Border.RenderTransform>
                <Border.RenderTransformOrigin>
                    <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>
                </Border.RenderTransformOrigin>
                <Ellipse Style = "{StaticResource EllipseStyle}">
                    <Ellipse.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>
                            <RotateTransform Angle = "{StaticResource ParticleOriginAngleP3}"/>
                        </TransformGroup>
                    </Ellipse.RenderTransform>
                </Ellipse>
            </Border>
            <Border
            x:Name = "p4"
            Background = "{StaticResource ParticleBackgroundColor}"
            Opacity = "{StaticResource ParticleOpacity}">
                <Border.RenderTransform>
                    <RotateTransform/>
                </Border.RenderTransform>
                <Border.RenderTransformOrigin>
                    <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>
                </Border.RenderTransformOrigin>
                <Ellipse Style = "{StaticResource EllipseStyle}">
                    <Ellipse.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>
                            <RotateTransform Angle = "{StaticResource ParticleOriginAngleP4}"/>
                        </TransformGroup>
                    </Ellipse.RenderTransform>
                </Ellipse>
            </Border>
        </Canvas>
        <Label x:Name="lblDisplayText" HorizontalContentAlignment="Center" Content="Loading" HorizontalAlignment="Left" Margin="0,43,0,0" VerticalAlignment="Top" Width="697" FontSize="20" Foreground="#FF006699" Height="214"/>
        <Button Content="Yes" HorizontalAlignment="Left" Margin="232,279,0,0" VerticalAlignment="Top" Width="75" x:Name="btnYes" Click="btnYes_Click"/>
        <Button Content="No" HorizontalAlignment="Left" Margin="392,279,0,0" VerticalAlignment="Top" Width="75" x:Name="btnNo" Click="btnNo_Click"/>
        <Button Content="Ok" HorizontalAlignment="Left" Margin="312,279,0,0" VerticalAlignment="Top" Width="75" x:Name="btnOK" Click="btnOK_Click"/>
    </Grid>
</UserControl>
